Storing data in XML form provides a flexible data storage, classification and retrieval alternative to the rigid table/column specifications maintained in a relational database. Known systems can store documents, in particular XML documents, in a repository such as a computer storage system. Such systems support searching and retrieval of those documents based on their content. These systems require specific program code tied to each instance of an XML schema and corresponding relational database tables and row and column definitions to handle the equivalent features. Development and maintenance, coding and testing times for providing these features in known systems is represent a substantial burden, and often requires a developer to have both technical database expertise as well as XML content domain expertise. In addition, should the XML schema change or be augmented, a change in the relational database tables and associated program code may be required, with its associated development burden. Although some database vendors provide for storing XML data, this data is typically unable to participate in some basic data management features provided for table/column data.
A system for storing documents in a repository which can provide interrelationships among documents without requiring generation of specific program code and/or relational database table design and development is desirable.